package com.wteam.dragon.model.service;


import com.wteam.dragon.system.basebean.bean.ResultMessage;
import com.wteam.dragon.model.pojo.bean.Menu;
import com.wteam.dragon.model.pojo.dto.MenuDto;
import com.wteam.dragon.model.pojo.dto.RoleSmallDto;

import java.util.List;

/**
 * @author 陈晓辉
 * @date 2020-3-6
 */
public interface MenuService {
    /**
     * 通过角色获得菜单
     * @param roleSmallDtos 角色信息列表集合
     * @return ResultMessage
     */
    List<MenuDto> getMenusByRoles(List<RoleSmallDto> roleSmallDtos);

    /**
     * 获得所有的菜单树
     * @param menuDtoList 菜单的总集合
     * @return ResultMessage
     */
    ResultMessage treeMenu(List<MenuDto> menuDtoList);

    /**
     * 添加菜单
     * @param menu 菜单对象
     * @return ResultMessage
     */
    ResultMessage addMenu(Menu menu);

    /**
     * 删除菜单
     * @param menuId 菜单id
     * @return ResultMessage
     */
    ResultMessage delMenu(Long menuId);

    /**
     * 更改菜单
     * @param menu 菜单对象
     * @return ResultMessage
     */
    ResultMessage editMenu(Menu menu);

    /**
     * 获得所有的菜单树
     * @param title 菜单标题
     * @return ResultMessage
     */
    ResultMessage treeAllMenu(String title);

    /**
     * 获得所有的菜单树
     * @param menus 菜单的总集合
     * @return 菜单的树
     */
    List<MenuDto> treeAllMenu(List<MenuDto> menus);
}
